<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./111.js" ></script>
    <script src="./222.js" async></script>
    <style>
        .body{
            width:0;height:0;
            border:100px solid transparent;border-bottom-color:blue;
        }
    </style>
</head>
<body>
    <div class="body">

    </div>
    <h1 id="h1" onclick="window.close()"></h1>
    <input type="text" id="input">
</body>
</html>


<script>
    // 节流
    var input = document.getElementById("input")
    var h1 = document.getElementById("h1")
    var istrue = false

    // 防抖
    input.addEventListener("input",function(){
        detary.apply(this,[1000])
    })

    function detary(time){
        var that = this
        if(istrue){
            //清空上一轮的定时器 没有return就会继续运行下面的代码
            clearTimeout(istrue)
        }
        istrue = setTimeout(function(){
            h1.innerText = that.value
        },time)
    }


    // 节流
    var is = null
    function por(time,detary){
        if(!is){
            is = setTimeout(function(){
                is = null
            },time)
        }
        
    }













    //浅拷贝 方法contat() slice() Array.form() ...扩展运算符
    //浅拷贝和深拷贝都只针对于引用数据类型，浅拷贝只复制指向某个对象的指针，而不复制对象本身，新旧对象还是共享同一块内存；
    // let list = ['我爱', '学习'];
    // let copyList = [].concat(list);
    // copyList.push('JavaScript');
    // console.log(list);      // ['我爱', '学习']
    // console.log(copyList);      // ['我爱', '学习', 'JavaScript']

    // let list = ['我爱', '学习'];
    // let copyList = list.slice();
    // copyList.push('JavaScript');
    // console.log(list);      // ['我爱', '学习']
    // console.log(copyList);      // ['我爱', '学习', 'JavaScript']

    // let list = ['我爱', '学习'];
    // let copyList = Array.from(list);
    // copyList.push('JavaScript');
    // console.log(list);      // ['我爱', '学习']
    // console.log(copyList);      // ['我爱', '学习', 'JavaScript']

    // let list = ['我爱', '学习'];
    // let copyList = [...list];
    // copyList.push('JavaScript');
    // console.log(list);      // ['我爱', '学习']
    // console.log(copyList);      // ['我爱', '学习', 'JavaScript']

    //深拷贝 通过JSON.stringify把对象转成字符串，再用JSON.parse把字符串转成一个全的新的对象；
    // let list = [{ name: 'Tom' }];
    // let copyList = JSON.parse(JSON.stringify([...list]));
    // copyList[0].name = 'Jerry'
    // console.log(list[0].name);      // Tom
    // console.log(copyList[0].name);      // Jerry


    
</script>